Propuestas arquitectónicas para servidores web distribuidos con réplicas parciales (página 2)
13
Contenido
Motivación
Objetivo
Propuestas arquitectónicas para replicación parcial
Adaptación de arquitecturas
Propuesta arquitectónica
Algoritmos de replicación
Políticas de asignación de peticiones
Evaluación
Conclusiones
14
Adaptación de las arquitecturas existentes a la replicación parcial
Sistemas Web basados en cluster.
Clusters Web virtuales.
Sistemas Web distribuidos.
15
Sistemas Web basados en cluster
Replicación parcial
Asignación dinámica
16
Cluster Web: flujo de peticiones
Bidireccional
Unidireccional
17
Sistema Web basado en cluster
Switch Web: Nodo central encargado de coordinación.
Solamente son admisibles políticas basadas en servicio de directorio.
El Switch Web supone un punto único de fallo ? limitación de fiabilidad.
El Switch Web único supone un cuello de botella en el procesamiento de peticiones ? limitación de rendimiento.
18
Adaptación de las arquitecturas existentes a la replicación parcial
Sistemas Web basados en cluster.
Clusters Web virtuales.
Sistemas Web distribuidos.
19
Clusters Web virtuales
Todas las peticiones llegan a todos los nodos.
Cada nodo descarta las peticiones que no le corresponden.
Cada elemento puede estar alojado en un subconjunto distinto de nodos servidores.
No es posible utilizar una función hash general que opere exclusivamente sobre dirección y puerto de origen.
20
Clusters Web virtuales
Necesidad de familia de funciones hash.
Una función por cada elemento.
Cada función con un conjunto distinto de posibles resultados.
Necesidad de un mecanismo de selección.
Complejo aplicar la idea a replicación parcial.
Dificultad de diseño de funciones hash.
Dificultad en selección de función hash.
21
Adaptación de las arquitecturas existentes a la replicación parcial
Sistemas Web basados en cluster.
Clusters Web virtuales.
Sistemas Web distribuidos.
22
Sistemas Web distribuidos
Redirección de peticiones de elementos no alojados en nodo destino a otro nodo que efectivamente contiene el elemento.
Adaptación dinámica.
No existe un elemento central.
Basada en negociación entre nodos.
23
Ventajas / Inconvenientes
Cluster Web
Ventajas
Escalabilidad.
Seguridad.
Inconvenientes
Modificación del SO.
Punto único de fallo.
Sistema Web distribuido
Ventajas
No hay punto único de fallo.
Inconvenientes
Escalabilidad (dir. IP).
Seguridad (IP pública).
24
Contenido
Motivación
Objetivo
Propuestas arquitectónicas para replicación parcial
Adaptación de arquitecturas
Propuesta arquitectónica
Algoritmos de replicación
Políticas de asignación de peticiones
Evaluación
Conclusiones
25
Propuesta: Cluster Web con switch distribuido
Incorpora varios switches Web para mejorar la fiabilidad.
Dos niveles de distribución de peticiones.
Entre switches.
Entre nodos.
26
Cluster Web con switch distribuido
27
Procesamiento de una petición
(Gp:) 1 Consulta DNS
(Gp:) 2 Respuesta DNS
(Gp:) 3 Petición HTTP
(Gp:) 4 Redirección
(Gp:) 5 Petición HTTP
(Gp:) 6 Petición
HTTP
(Gp:) 8 Respuesta HTTP
(Gp:) 7 Redirección
HTTP
28
Asignación dinámica de réplicas
(Gp:) Estado
(Gp:) Estado
(Gp:) Equilibrio
(Gp:) Estado
(Gp:) Estado
(Gp:) Intercambios
29
Contenido
Motivación
Objetivo
Propuestas arquitectónicas para replicación parcial
Adaptación de arquitecturas
Propuesta arquitectónica
Algoritmos de replicación
Políticas de asignación de peticiones
Evaluación
Conclusiones
30
Representación del problema
Sitio Web ? Conjunto de elementos.
E = {e1, e2, … , eN}
Servidor ? Conjunto de nodos.
S = {s1, s2, … , sM}
Matriz de asignación: Representa la asignación de elementos a nodos servidores.
31
Algoritmos propuestos
Asignación cíclica inicial.
Almacenamiento homogéneo.
Alto solape de elementos en nodos.
Asignación cíclica final.
Almacenamiento homogéneo.
Menor solape de elementos en nodos.
Asignación no equitativa.
Almacenamiento heterogéneo.
Considera frecuencias de acceso.
32
Asignación cíclica inicial
F1
F2
F4
F3
F5
3 réplicas por elemento
33
Asignación cíclica final
F1
F2
F4
F3
F5
3 réplicas por elemento
34
Asignación no equitativa
Asigna un número de réplicas distinto a cada elemento.
Basado en probabilidades de acceso a los elementos (p. ej. Zipf).
Tiene en cuenta las restricciones de tamaño.
Compatible con capacidades de almacenamiento heterogéneas.
35
Número de réplicas
Determinación del número de réplicas como cuota de espacio dividido por tamaño.
Ajuste del número de réplicas a un número entero entre 1 y M.
36
Algoritmo de asignación de réplicas
Realiza una asignación voraz de réplicas, asignando primero los elementos de mayor tamaño.
Si en algún momento se viola una restricción de capacidad, se reduce el número de réplicas de un elemento.
37
Asignación no equitativa
Tamaño
2000
7000
190000
20000
22000
Probabilidad
0,4380
0,2190
0,0876
0,1460
0,1094
Volumen = 480000
Servidores = 5
r
105,11
15,02
0,22
3,50
2,39
r*
5
5
1
3
2
200000
150000
50000
40000
40000
38
40000
20000
13000
11000
40000
20000
13000
11000
50000
28000
21000
19000
150000
128000
108000
101000
99000
200000
3000
1000
10000
Asignación no equitativa
r=1
r=2
r=3
r=5
r=5
t=190000
t=22000
t=20000
t=7000
t=2000
39
Asignación dinámica de réplicas
Determinación del vector de probabilidades.
Mediante frecuencia de peticiones (estadísticas de actividad pasada).
Condición de reasignación.
Basada en distancia entre vectores de probabilidad.
40
Registro de la frecuencia de peticiones
Sistema Web basado en cluster.
Recogida centralizada en el switch.
Sistema Web distribuido.
Recogida en cada nodo.
Fusión de la información en todos los nodos.
Cluster Web con switch distribuido.
Recogida en cada switch.
Fusión de la información en switch primario.
41
Distancia entre dos momentos como cantidad de réplicas a modificar.
Redistribución cuando distancia rebasa umbral.
Reasignación de réplicas
(Gp:) Umbral
42
Contenido
Motivación
Objetivo
Propuestas arquitectónicas para replicación parcial
Adaptación de arquitecturas
Propuesta arquitectónica
Algoritmos de replicación
Políticas de asignación de peticiones
Evaluación
Conclusiones
43
Adaptación de políticas
Las políticas de asignación existentes no pueden utilizarse sin ser modificadas:
Es necesario tener en cuenta la replicación parcial de los elementos.
Servicio de directorio basado en formalización de URL y tablas hash multinivel.
44
Políticas adaptadas
Asignación estática (Round-Robin).
Asignación al nodo menos cargado.
LARD (Locality Aware Request Distribution).
45
Asignación estática circular
1
2
4
2
46
Asignación al nodo menos cargado
c=0,8
c=0,7
c=0,3
c=0,7
c=0,6
c=0,3
c=0,5
c=0,6
c=0,6
c=0,3
c=0,2
c=0,1
c=0,8
c=0,8
c=0,8
3
3
2
2
2
1
5
1
5
47
LARD
c=0,8
c=0,7
c=0,3
c=0,7
c=0,6
3
3
2
2
1
c=0,3
c=0,5
c=0,6
c=0,6
c=0,3
3
5
Cmax = 0,7
3
5
3
c=0,2
c=0,6
c=0,8
c=0,8
c=0,8
2
1
5
48
Contenido
Motivación
Objetivo
Propuestas arquitectónicas para replicación parcial
Evaluación
Rendimiento
Capacidad de almacenamiento
Fiabilidad
Conclusiones
49
Rendimiento
Evaluación por simulación.
Basada en modelo estocástico.
800 clientes realizando peticiones.
Cluster Web con 16 nodos servidores.
Discos de 200 GB.
Entorno de simulación: OMNET++.
50
Tipos de replicación
RTOT: Replicación total.
RPCI2: Replicación cíclica inicial con 2 réplicas por elemento.
RPCF2: Replicación cíclica final con 2 réplicas por elemento.
RPCI4: Replicación cíclica inicial con 4 réplicas por elemento.
RPCF4: Replicación cíclica final con 4 réplicas por elemento.
RNOEQ: Replicación no equitativa.
51
Análisis de resultados
Evaluación del tiempo medio de respuesta.
Comparación de tiempos medios mediante ANOVA (a=0,05).
52
Conclusión de la simulación
No existe diferencia significativa en el tiempo de servicio de las peticiones Web entre un sistema totalmente replicado y un sistema parcialmente replicado.
53
Contenido
Motivación
Objetivo
Propuestas arquitectónicas para replicación parcial
Evaluación
Rendimiento
Capacidad de almacenamiento
Fiabilidad
Conclusiones
54
Evaluación de la capacidad de almacenamiento
Evaluación general de forma analítica.
Aplicación a caso de estudio:
12 nodos servidores.
Capacidades de entre 50 GB y 200 GB.
Tamaño del disco más grande que se puede adquirir: 300 GB.
55
Métricas de capacidad
Tamaño máximo del sitio Web.
Eficacia de incremento por incorporación.
Tasa entre el incremento del tamaño máximo del sitio Web y el espacio físico incorporado.
Eficacia de incremento por sustitución.
Tasa entre el incremento del tamaño máximo del sitio Web y el espacio físico sustituido.
56
Tamaño máximo de sitio
57
Eficacia de incremento por incorporación
58
Eficacia de incremento por sustitución
59
Contenido
Motivación
Objetivo
Propuestas arquitectónicas para replicación parcial
Evaluación
Rendimiento
Capacidad de almacenamiento
Fiabilidad
Conclusiones
60
Evaluación de la fiabilidad
Evaluación general de forma analítica.
Aplicación a caso de estudio:
12 nodos servidores.
Variación en el número de réplicas.
Variación en el número de switches.
61
Fiabilidad de un cluster Web
62
Fiabilidad de un cluster Web con 2 switches
63
Incremento de la fiabilidad
64
Cluster Web con switch distribuido: comparación
65
Capacidad de almacenamiento y fiabilidad
66
Contenido
Motivación
Objetivo
Propuestas arquitectónicas para replicación parcial
Evaluación
Conclusiones
67
Resumen
Se ha diseñado una arquitectura distribuida de servidor Web.
Basada en la replicación parcial de contenidos.
Alta escalabilidad en cuanto a los volúmenes de datos manipulados.
Sin deterioro de la fiabilidad.
Adaptación dinámica de la asignación de contenidos.
68
Aportaciones
Una nueva arquitectura para servidor Web distribuido: el cluster Web con switch distribuido.
Una política de asignación de réplicas basada en la frecuencia de acceso: la replicación no equitativa.
La adaptación de políticas de asignación de peticiones en el contexto de replicación parcial.
69
Conclusiones
No se produce pérdida de rendimiento en un sistema parcialmente replicado con respecto a un sistema totalmente replicado.
La fiabilidad de un sistema Web basado en cluster está limitada por la fiabilidad de su switch Web.
Un número relativamente bajo de réplicas (4-5) ofrece una fiabilidad equivalente a la de un sistema totalmente replicado.
Un sistema parcialmente replicado ofrece mayor capacidad de almacenamiento manteniendo la fiabilidad y sin pérdida de rendimiento.
70
Trabajos futuros
Determinar el efecto de la asignación dinámica de contenidos sobre el rendimiento.
Ampliar el modelo para incluir el tratamiento de peticiones dinámicas.
Extender la arquitectura para sistemas geográficamente distribuidos.
Uso de técnicas no deterministas para la asignación de réplicas a nodos servidores.
Propuestas arquitectónicas para servidores Web distribuidos con réplicas parciales
SubSeptiembre de 2005
Autor: José Daniel García Sánchez
Directores: Jesús Carretero Pérez
Félix García Carballeira
Universidad Carlos III de MadridDepartamento de InformáticaDoctorado en Ingeniería Informática
72
Estructura de módulos de los switches
73
Switch: Funcionalidades (I)
Filtrado de encaminamiento a switches.
Traspaso peticiones a otros switches.
Asignación de peticiones a nodos servidores.
Selección del nodo encargado de servir una petición.
Encaminamiento a nodos.
Envío efectivo de la petición al nodo seleccionado.
Servicio de directorio.
Mantiene información de asignación de réplicas a nodos.
74
Switch: Funcionalidades (y II)
Monitorización.
Seguimiento el estado de los nodos servidores.
Sincronización de estado.
Intercambio de información de estado entre los switches.
Equilibrio de réplicas.
Determinación de modificaciones en las asignaciones de réplicas.
Responsable de iniciar los intercambios de réplicas.
Página anterior | Volver al principio del trabajo | Página siguiente |